package com.hongyun.tms.web.controller;
import com.hongyun.tms.common.vo.CrewCertVO;
import com.hongyun.tms.common.vo.PordWorkVO;
import com.hongyun.tms.common.vo.TmsMTugVO;
import com.hongyun.tms.domain.AjaxResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.hongyun.tms.service.ScreenService;
import java.math.BigDecimal;
import java.util.HashMap;
import com.hongyun.tms.entity.TmsMTug;
import java.util.List;

/**
* 首页
*
* @author yuheng
* @since 1.0.0 2024-06-06
*/
@RestController
@RequestMapping("/screen")
@Api(value = "首页", tags = "首页")
@AllArgsConstructor
public class ScreenController {
    private final ScreenService screenService;

    /**
     * 作业量 情况
     * planDte
     * 年 null
     * 月 YYYY如 2024
     */
    @GetMapping("getWorkNum")
    @ApiOperation(value = "传入时间", notes = "planDte")
    public AjaxResult getWorkNum(String planDte){
        List<HashMap<String, BigDecimal>> planNumList = screenService.getWorkNum(planDte);
        return AjaxResult.success(planNumList);
    }

    /**
     * 船员证书情况
     */
    @GetMapping("getTmsCrewCert")
    public AjaxResult getTmsCrewCert(){
        List<CrewCertVO> crewCertVOGroup = screenService.getTmsCrewCert();
        return AjaxResult.success(crewCertVOGroup);
    }

    /**
     *    作业金额 情况
     *    planDte
     *    年 null
     *    月 YYYY如 2024
     */
    @GetMapping("getFeeList")
    @ApiOperation(value = "传入时间", notes = "planDte")
    public AjaxResult getFeeList(String planDte){
        List<HashMap<String, Object>> feeList = screenService.getFeeList(planDte);
        return AjaxResult.success(feeList);
    }
    /**
     * 拖轮情况

     */
    @GetMapping("getTmsMTug")
    public AjaxResult getTmsMTug(){
        List<TmsMTugVO> tmsMTugList = screenService.getTmsMTug();
        return AjaxResult.success(tmsMTugList);
    }

    /**
     * 获取拖轮作业单位情况
     *    planDte
     *    年 null
     *    月 YYYY如 2024
     */
    @GetMapping("getTmsMTugCorp")
    public AjaxResult getTmsMTugCorp(String planDte){
        List<HashMap> tmsMTugList = screenService.getTmsMTugCorp(planDte);
        return AjaxResult.success(tmsMTugList);
    }

    /**
     * 获取作业拖轮货物情况
     **    planDte
     *      *    年 null
     *      *    月 YYYY如 2024
     */
    @GetMapping("getTmsMTugCargo")
    public AjaxResult getTmsMTugCargo(String planDte){
        List<HashMap> tmsMTugList = screenService.getTmsMTugCargo(planDte);
        return AjaxResult.success(tmsMTugList);
    }
    /**
     * 拖轮作业情况
     */
    @GetMapping("getTmsMTugWork")
    public AjaxResult getTmsMTugWork(){
        List<PordWorkVO> tmsMTugList = screenService.getTmsMTugWork();
        return AjaxResult.success(tmsMTugList);
    }

    /**
     * 按照月度查询油电水情况
     * 传入参数
     * 年 null
     * 月 YYYY如 2024
     * sumOriCost 油耗
     * sumWaterCost 水耗
     * sumPowerCost 电耗
     * sumOriAddVolume 加油量
     * sumLeftMainWorkHours 左主机时长
     * sumRightMainWorkHours 右主机时长
     * sumOneAuxBegNum 1号副机时长
     * sumTwoAuxBegNum 2号副机时长
     */
    @GetMapping("getConsumeTmsMTug")
    public AjaxResult getConsumeTmsMTug(String planDte){
        List<HashMap<String,Object>> consumeTmsMTugList = screenService.getConsumeTmsMTug(planDte);
        return AjaxResult.success(consumeTmsMTugList);
    }
}
